package com.payment.common.utils;

import java.util.Arrays;
import java.util.List;

/**
 * 数组操作工具类
 * @author suimg
 * @date 2018/7/10 17:08
 */
public class ArrayUtils {

    /**
     * 合并两个数组
     * @param src1
     * @param src2
     * @param <T>
     * @return
     */
    public static <T> T[] merge(final T[] src1,final T[] src2){
        T[] target= Arrays.copyOf(src1, src1.length + src2.length);
        System.arraycopy(src2, 0, target, src1.length, src2.length);
        Arrays.sort(target);
        return target;
    }

    /**
     * 把一个数组转换成1,2,3格式
     * @param src
     * @param <T>
     * @return
     */
    public static <T> String toString(T[] src){
        if(src==null||src.length==0){
            throw new RuntimeException();
        }
        StringBuffer sb=new StringBuffer();
        for (T t: src) {
            sb.append(t.toString()+",");
        }
        //去掉最后的一个,
        return sb.substring(0,sb.length()-1);
    }

    /**
     * 把一个列表换成1,2,3格式
     * @param list
     * @param <T>
     * @return
     */
    public static <T> String toString(List<T> list){
       return toString(list.toArray());
    }

    public static String[] arraySort(String[] input) {
        for (int i = 0; i < input.length - 1; i++) {
            for (int j = 0; j < input.length - i - 1; j++) {
                if (input[j].compareTo(input[j + 1]) > 0) {
                    String temp = input[j];
                    input[j] = input[j + 1];
                    input[j + 1] = temp;
                }
            }
        }
        return input;
    }
}
